/*
 * FiilterListView.h
 *
 *  Created on: 11 Nov 2012
 *      Author: hopey
 */

#ifndef FIILTERLISTVIEW_H_
#define FIILTERLISTVIEW_H_
#include "common-gtk.h"
#include "filters/Filters.h"
#include "gui/filters/BlurFilterGui.h"
namespace openlid {

class FilterListView: public Gtk::ScrolledWindow, Retainer<Widget> {
public:
	FilterListView();
	virtual ~FilterListView();

	const shared_ptr<FilterChain>& getFilterChain() const {
		return filterChain;
	}

private:
	void click_add();
	void click_edit();

	HBox everything;
	TreeModel::ColumnRecord m_cols;
	TreeModelColumn<Glib::ustring> m_col_title;
	TreeModelColumn<bool> m_col_enabled;
	TreeModelColumn<int> m_col_idx;
	int rows = 0;
	TreeView m_TreeView;
	Glib::RefPtr<Gtk::ListStore> m_refTreeModel;
	shared_ptr<FilterChain> filterChain;
	vector<shared_ptr<FilterGui> > filterGuis;
	shared_ptr<Widget> current_gui;
};

} /* namespace openlid */
#endif /* FIILTERLISTVIEW_H_ */
